1. Technical Field
The present invention relates to data communication networking devices, more particularly, to the data frame forwarding capability of a data network switch.
2. Background Art
A multiport data network switch conventionally permits data communication among a plurality of media stations in a local area network. Each station in the network is associated with a port of the switch. Data frames, or packets, are transferred between stations by data network switch media access control (MAC) circuitry, or xe2x80x9cengines,xe2x80x9d for each switch port. The network switch passes data frames received from a transmitting station to a destination station based on the header information in the received data frame. The switch can link the network to other networks through one or more predesignated switch ports.
The network switch includes switching logic for receiving and forwarding frames to the appropriate destinations. When all of the stations connected to the network are simultaneously operating, packet traffic on the shared path can be heavy with little time between packets. As the switch experiences congestion, data loss and switch latency pose a serious problem. Adding VLAN capability to the network imposes additional challenges to the design of the switch in terms of logic complexity and switch latency; hence, further burdening the switching logic. As a result, the system is less reliable.
There exists a need for a switching device that includes a decision making engine (i.e., state machines) designed to support networks requiring a high data throughput. There is also a need for distributing the process of forwarding data frames to avoid processing bottlenecks in the system and to increase system reliability.
These and other needs are satisfied by the present invention, where a multiport switch includes a decision making engine used to make frame forwarding decisions, in part, by outputting forwarding information. The decision making engine is designed in a pipelined, modular fashion so that multiple frames may be processed simultaneously.
According to one aspect of the present invention, a multiport switch is configured for processing a data frame. The multiport switch comprises a plurality of ports for outputting the data frame. A plurality of ports is responsible for outputting the data frame. The rules checker logic is configured to operate in a pipeline manner to process the data frame. The rules checker logic includes a plurality of ingress state machines that are configured for receiving a header of the data frame, determining data frame type, and extracting or deriving frame information from the header. Each of the ingress state machines concurrently performs ingress functions based upon on portions of the header or the frame information. A plurality of egress state machines are configured for generating a descriptor. The descriptor has a port vector that selectively specifies which of the ports the data frame is to be transmitted from or whether the data frame is to be filtered. Port logic is configured for receiving and decoding the descriptor from the rules checker logic. Because the rules checker logic possesses a modular, pipelined architecture, the data frame forwarding rate is enhanced.
Still another aspect of the present invention provides a method of forwarding a data frame in a switching system having a plurality of ports for outputting the data frame. The method comprises performing ingress functions using a plurality of ingress state machines. The ingress functions include receiving a header of the data frame, determining data frame type; and extracting or deriving frame information from the header. The method further includes performing egress functions using a plurality of egress state machines. The egress functions encompass generating a descriptor. The descriptor has a port vector that selectively specifies which of the ports the data frame is to be transmitted from or whether the data frame is to be filtered. The method also includes receiving and decoding the descriptor that comprises a port vector. This method advantageously outputs a forwarding descriptor efficiently, thereby increasing the data throughput of the multiport switch.
Additional advantages and novel features of the invention will be set forth in part in the description which follows, and in part may become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.